#include<stdio.h>  
  
/**  
 * @brief 分治策略实现对于任意实数的求幂运算 
 *   
 * @param x 底数，是实数
 * @param n 指数，必须为非负整数
 * @return double 幂运算结果  
 */  
double q_pow(double x, int n) {  
    if (n == 0) return 1;  
    if (n & 1) return x * q_pow(x * x, n / 2);  
    else return q_pow(x * x, n / 2);  
}  
  
/**  
 * @brief 主函数  
 */  
int main() {  
    double x;  
    int n;  
    scanf("%lf%d", &x, &n);  
    double ans = q_pow(x, n);  
    printf("%lf\n", ans);  
    return 0;  
}  